Ngày xuất bản: 28 tháng 5 năm 2025
Trừ khi có ghi chú khác, các thay đổi sau đây sẽ áp dụng cho bản phát hành mới nhất của kênh beta Chrome dành cho Android, ChromeOS, Linux, macOS và Windows. Tìm hiểu thêm về các tính năng được liệt kê tại đây thông qua các đường liên kết được cung cấp hoặc trong danh sách trên ChromeStatus.com. Chrome 138 đang ở giai đoạn thử nghiệm beta kể từ ngày 28 tháng 5 năm 2025. Bạn có thể tải phiên bản mới nhất xuống từ Google.com dành cho máy tính hoặc từ Cửa hàng Google Play trên Android.
CSS và giao diện người dùng
Bản phát hành này bổ sung 6 tính năng mới về giao diện người dùng và CSS.
Từ khoá định cỡ stretch
CSS
Một từ khoá cho các thuộc tính định cỡ CSS (ví dụ: width
và height
) cho phép các phần tử phát triển để lấp đầy chính xác không gian có sẵn của khối chứa. Phương thức này tương tự như 100%
, ngoại trừ kích thước thu được được áp dụng cho hộp lề của phần tử thay vì hộp được chỉ định bằng box-sizing
. Việc sử dụng từ khoá này cho phép phần tử giữ nguyên lề trong khi vẫn lớn nhất có thể.
Các hàm liên quan đến chữ ký CSS: abs()
, sign()
Các hàm liên quan đến dấu abs()
và sign()
tính toán nhiều hàm liên quan đến dấu của đối số.
Biến môi trường CSS cho tỷ lệ phông chữ cấp hệ điều hành
Hiển thị tỷ lệ phông chữ mà người dùng ưu tiên cho CSS. Hiện tại, một trang không thể phát hiện được liệu người dùng có thay đổi cỡ chữ mà họ muốn bằng các lựa chọn ưu tiên của Hệ điều hành hay không. Biến môi trường CSS này sẽ phản ánh tỷ lệ mà người dùng chọn.
sibling-index()
và sibling-count()
của CSS
Bạn có thể sử dụng các hàm sibling-index()
và sibling-count()
dưới dạng số nguyên trong giá trị thuộc tính CSS để tạo kiểu cho một phần tử dựa trên vị trí của phần tử đó trong số các phần tử đồng cấp hoặc tổng số phần tử đồng cấp tương ứng. Bạn có thể sử dụng trực tiếp các hàm này dưới dạng giá trị số nguyên, nhưng thú vị hơn là bên trong biểu thức calc()
.
li {
animation-delay: calc(0.1s * sibling-index());
}
Ký hiệu hàm tiến trình nội suy: Hàm progress()
của CSS
Ký hiệu hàm progress()
là một hàm toán học trả về giá trị <number>
đại diện cho vị trí của một phép tính (giá trị tiến trình) giữa hai phép tính khác (giá trị bắt đầu tiến trình và giá trị kết thúc tiến trình).
API liệt kê phân đoạn khung nhìn
Viewport Segments API cho phép nhà phát triển điều chỉnh bố cục web để nhắm đến các thiết bị có thể gập lại. Các phân đoạn khung nhìn xác định vị trí và kích thước của một vùng riêng biệt về mặt logic của khung nhìn. Các phân đoạn khung nhìn được tạo khi khung nhìn được phân tách bằng một hoặc nhiều tính năng phần cứng (chẳng hạn như đường gập hoặc bản lề giữa các màn hình riêng biệt) đóng vai trò là đường phân chia; các phân đoạn là các vùng của khung nhìn mà nhà phát triển có thể coi là khác biệt về mặt logic.
API web
Thêm tính năng hỗ trợ siêu dữ liệu hướng khung hình video vào WebCodecs
Giới thiệu các giá trị rotation: int
và flip: bool
cho nhiều giao diện liên quan đến video trong WebCodecs để nhà phát triển có thể làm việc với các nguồn khung có hướng (ví dụ: máy ảnh Android và một số nội dung đa phương tiện nhất định). Giao diện VideoFrame
tăng khả năng tạo VideoFrames với chế độ xoay và lật tuỳ ý cũng như các phương thức truy cập cho thông tin này trên đối tượng VideoFrame
. Đối tượng VideoDecoderConfig
sẽ tự động nhận được các trường rotation
và flip
được phát trên các đối tượng VideoFrame đã giải mã. Lớp VideoEncoder
có các cơ chế để truyền thông tin xoay và lật từ encode()
đến VideoDecoderConfig
được phát dưới dạng một phần của EncodedVideoChunkMetadata
. Nếu encode()
được gọi với các khung có hướng khác nhau, thì ngoại lệ không nghiêm trọng sẽ được gửi. Bạn có thể sử dụng phương thức configure()
để đặt lại hướng được cho phép.
API Báo cáo sự cố: is_top_level
và visibility_state
Tính năng này sẽ thêm các trường chuỗi is_top_level
và visibility_state
vào phần nội dung API báo cáo sự cố được gửi đến điểm cuối báo cáo mặc định cho các báo cáo sự cố.
Tách <
và >
trong các thuộc tính khi chuyển đổi tuần tự
Tách <
và >
trong giá trị của các thuộc tính khi chuyển đổi tuần tự. Điều này giúp giảm thiểu rủi ro của các cuộc tấn công XSS đột biến. Những cuộc tấn công này xảy ra khi giá trị của một thuộc tính được diễn giải là mã thông báo thẻ bắt đầu sau khi được chuyển đổi tuần tự và phân tích cú pháp lại.
Chính sách về tính toàn vẹn đối với tập lệnh
Tính năng Tính toàn vẹn của tài nguyên phụ (SRI) cho phép nhà phát triển đảm bảo rằng các thành phần mà họ dự định tải thực sự là các thành phần mà họ đang tải. Tuy nhiên, hiện tại, nhà phát triển không có cách nào để đảm bảo rằng tất cả tập lệnh của họ đều được xác thực bằng SRI.
Tiêu đề Integrity-Policy
cho phép nhà phát triển xác nhận rằng mọi tài nguyên thuộc một loại nhất định cần được kiểm tra tính toàn vẹn. Nếu bạn cố gắng tải một tài nguyên thuộc loại đó mà không có siêu dữ liệu về tính toàn vẹn, thì thao tác đó sẽ không thành công và kích hoạt một báo cáo vi phạm.
Hạn mức bộ nhớ được báo cáo có thể dự đoán
Báo cáo hạn mức bộ nhớ có thể dự đoán được từ API ước tính của StorageManager cho các trang web không có quyền lưu trữ không giới hạn. Bạn có thể phát hiện chế độ duyệt web của người dùng bằng cách sử dụng hạn mức bộ nhớ được báo cáo vì dung lượng bộ nhớ được cung cấp nhỏ hơn đáng kể ở chế độ ẩn danh so với chế độ thông thường.
Đây là biện pháp giảm thiểu giúp ngăn chặn việc phát hiện chế độ duyệt web của người dùng bằng cách sử dụng API bộ nhớ bằng cách báo cáo hạn mức nhân tạo, bằng mức sử dụng + min(10 GiB, ổ đĩa được làm tròn lên đến 1 GiB gần nhất), trong tất cả chế độ duyệt web cho các trang web có quyền lưu trữ bị hạn chế. Những trang web có quyền lưu trữ không giới hạn sẽ không bị ảnh hưởng. Hạn mức bắt buộc cũng sẽ không bị ảnh hưởng.
Sự kiện pushsubscriptionchange
khi người dùng đăng ký lại
Kích hoạt sự kiện pushsubscriptionchange
trong trình chạy dịch vụ khi một nguồn gốc mà trước đây đã có gói thuê bao đẩy nhưng đã bị thu hồi do thay đổi quyền (từ cấp cho thành từ chối/mặc định) được cấp lại quyền thông báo. Sự kiện sẽ được kích hoạt bằng oldSubscription
và newSubscription
trống.
Quy tắc suy đoán: Thêm prefetchCache
và prerenderCache
vào tiêu đề Clear-Site-Data
Hai giá trị mới cho tiêu đề Clear-Site-Data
để giúp nhà phát triển nhắm đến việc xoá bộ nhớ đệm trước khi kết xuất và bộ nhớ đệm tìm nạp trước: prefetchCache
và prerenderCache
.
Bạn có thể gửi các thông báo này trên bất kỳ yêu cầu nào và không cần phải tạo trên yêu cầu tài liệu (ví dụ: các thông báo này có thể được trả về trên các phản hồi lệnh gọi API thêm vào giỏ hàng hoặc đăng nhập và đăng xuất để xoá các thông tin suy đoán về thay đổi trạng thái).
Quy tắc suy đoán: trường target_hint
Điều này mở rộng cú pháp quy tắc suy đoán để cho phép nhà phát triển chỉ định trường target_hint
. Trường này cung cấp gợi ý để chỉ báo một mục tiêu có thể điều hướng mà cuối cùng trang được kết xuất trước sẽ được kích hoạt. Khi _blank
được chỉ định làm gợi ý, trang được kết xuất trước có thể được kích hoạt cho một trang có thể điều hướng được mở bằng window.open()
. Trường này không được hỗ trợ để tải trước.
Chính sách nghiêm ngặt về cùng nguồn gốc cho Storage Access API
Điều chỉnh ngữ nghĩa của Storage Access API để tuân thủ nghiêm ngặt Chính sách về cùng nguồn gốc liên quan đến bảo mật. Tức là theo mặc định, việc sử dụng document.requestStorageAccess()
trong một khung chỉ đính kèm cookie vào các yêu cầu đến nguồn gốc của iframe (không phải trang web).
API Tóm tắt
Một API JavaScript để tạo bản tóm tắt văn bản đầu vào, được hỗ trợ bởi một mô hình ngôn ngữ AI. Trình duyệt và hệ điều hành ngày càng được kỳ vọng sẽ có quyền truy cập vào mô hình ngôn ngữ. Bằng cách hiển thị mô hình tích hợp sẵn này, chúng tôi tránh việc mọi trang web đều cần tải mô hình ngôn ngữ nhiều gigabyte của riêng mình xuống hoặc gửi văn bản đầu vào đến các API của bên thứ ba. Cụ thể, API trình tóm tắt hiển thị một API cấp cao để giao tiếp với mô hình ngôn ngữ nhằm tóm tắt dữ liệu đầu vào cho nhiều trường hợp sử dụng theo cách không phụ thuộc vào mô hình ngôn ngữ cụ thể trong câu hỏi. Bạn có thể sử dụng chính sách doanh nghiệp (GenAILocalFoundationalModelSettings
) để tắt tính năng tải mô hình cơ bản xuống, khiến API này không dùng được.
Tìm hiểu thêm trong bài viết Tạo bản tóm tắt ngắn gọn bằng AI tích hợp.
API Trình phát hiện ngôn ngữ
Một API JavaScript để phát hiện ngôn ngữ được sử dụng trong một số văn bản nhất định, với các mức độ tin cậy. Đây là một tính năng bổ sung quan trọng cho tính năng dịch là phát hiện ngôn ngữ và có thể được sử dụng kết hợp với Translator API. Ví dụ: lấy dữ liệu đầu vào của người dùng bằng một ngôn ngữ không xác định, xác định ngôn ngữ của dữ liệu đó, sau đó dịch dữ liệu đó sang một ngôn ngữ đích cụ thể. Mặc dù các trình duyệt thường đã có khả năng phát hiện ngôn ngữ, nhưng API này cũng mang lại sức mạnh tương tự cho các nhà phát triển web bằng một API JavaScript, bổ sung cho API bản dịch.
Có một chính sách doanh nghiệp (GenAILocalFoundationalModelSettings
) để tắt tính năng tải mô hình cơ bản xuống, khiến API này không dùng được.
Tìm hiểu thêm trong phần Phát hiện ngôn ngữ được sử dụng bằng AI tích hợp.
Translator API
API JavaScript để cung cấp chức năng dịch ngôn ngữ cho các trang web.
Mặc dù các trình duyệt ngày càng cung cấp tính năng dịch ngôn ngữ cho người dùng, nhưng các tính năng dịch này cũng có thể hữu ích cho các nhà phát triển web. Điều này đặc biệt đúng trong trường hợp các tính năng dịch tích hợp sẵn của trình duyệt không thể trợ giúp, chẳng hạn như với các dịch vụ trực tiếp và tương tác. Có một chính sách dành cho doanh nghiệp (GenAILocalFoundationalModelSettings
) để tắt tính năng tải mô hình cơ bản xuống, khiến API này không hoạt động.
Tìm hiểu thêm trong bài viết Dịch bằng công nghệ AI tích hợp.
Phần mở rộng phạm vi ứng dụng web
Thêm trường tệp kê khai ứng dụng web "scope_extensions"
cho phép các ứng dụng web mở rộng phạm vi của chúng sang các nguồn gốc khác. Điều này cho phép các trang web kiểm soát nhiều miền con và miền cấp cao nhất được trình bày dưới dạng một ứng dụng web duy nhất. Yêu cầu các nguồn gốc được liệt kê xác nhận mối liên kết với ứng dụng web bằng cách sử dụng tệp cấu hình .well-known/web-app-origin-association
.
Web serial qua Bluetooth trên Android
Tính năng này cho phép các trang web và ứng dụng web kết nối với cổng nối tiếp qua Bluetooth trên thiết bị Android. Chrome trên Android hiện hỗ trợ Web Serial API qua Bluetooth RFCOMM. Các chính sách doanh nghiệp hiện có (DefaultSerialGuardSetting
, SerialAllowAllPortsForUrls
, SerialAllowUsbDevicesForUrls
, SerialAskForUrls
và SerialBlockedForUrls
) trên các nền tảng khác được bật ở trạng thái future_on cho Android. Tất cả chính sách ngoại trừ SerialAllowUsbDevicesForUrls
sẽ được bật sau khi bạn bật tính năng này. SerialAllowUsbDevicesForUrls
sẽ được bật trong một bản phát hành trong tương lai sau khi Android cung cấp tính năng hỗ trợ cấp hệ thống cho cổng nối tiếp có dây.
Ngừng sử dụng và xoá
Phiên bản Chrome này ngừng sử dụng và xoá các tính năng sau. Hãy truy cập vào ChromeStatus.com để xem danh sách các tính năng dự kiến ngừng hoạt động, các tính năng hiện đã ngừng hoạt động và các tính năng đã bị xoá trước đây.
Bản phát hành Chrome này không dùng nữa hai tính năng.
Ngừng sử dụng tính năng xoá phạm vi không đồng bộ cho Tiện ích nguồn nội dung đa phương tiện
Tiêu chuẩn Nguồn nội dung nghe nhìn đã thay đổi từ lâu để không cho phép hành vi được xác định không rõ ràng liên quan đến việc xoá phạm vi không đồng bộ:
SourceBuffer.abort()
không còn huỷ các thao tácSourceBuffer.remove()
.- Chế độ cài đặt
MediaSource.duration
không thể cắt bớt nội dung nghe nhìn đang được lưu vào bộ đệm nữa.
Giờ đây, ngoại lệ sẽ được gửi trong cả hai trường hợp này.
Xoá phương án dự phòng SwiftShader
Tính năng cho phép dự phòng tự động chuyển sang WebGL do trình kết xuất phần mềm SwiftShader hỗ trợ không còn được dùng nữa và việc tạo ngữ cảnh WebGL sẽ không thành công thay vì quay lại SwiftShader. Việc này được thực hiện vì hai lý do chính:
- SwiftShader có nguy cơ bảo mật cao do mã JIT chạy trong quy trình GPU của Chromium.
- Người dùng sẽ có trải nghiệm kém khi chuyển từ WebGL được GPU hỗ trợ hiệu suất cao sang phương thức triển khai được CPU hỗ trợ. Người dùng không có quyền kiểm soát hành vi này và khó mô tả trong báo cáo lỗi.
Trong thời gian ngừng sử dụng, một cảnh báo sẽ xuất hiện trong bảng điều khiển Chrome DevTools khi ngữ cảnh WebGL được tạo và được hỗ trợ bằng SwiftShader. Việc truyền --enable-unsafe-swiftshader
sẽ xoá thông báo nhắc nhở này.